package com.systop.asset.mapper;

import com.systop.asset.entity.Process;
import com.systop.asset.entity.vo.ProcessVo;

import java.util.List;

/**
 * 审批列表Mapper接口
 * 
 * @author mu
 * @date 2025-06-24
 */
public interface ProcessMapper 
{
    /**
     * 查询审批列表
     * 
     * @param id 审批列表主键
     * @return 审批列表
     */
    public Process selectProcessById(Long id);

    /**
     * 查询审批列表列表
     * 
     * @param process 审批列表
     * @return 审批列表集合
     */
    public List<Process> selectProcessList(Process process);

    /**
     * 新增审批列表
     * 
     * @param process 审批列表
     * @return 结果
     */
    public int insertProcess(Process process);

    /**
     * 修改审批列表
     * 
     * @param process 审批列表
     * @return 结果
     */
    public int updateProcess(Process process);

    /**
     * 删除审批列表
     * 
     * @param id 审批列表主键
     * @return 结果
     */
    public int deleteProcessById(Long id);

    /**
     * 批量删除审批列表
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteProcessByIds(Long[] ids);

    /**
     * 已审核
     * @param vo
     * @return
     */
    ProcessVo findProcessedTaskList(ProcessVo vo);
    /**
     * 我发起
     * @param vo
     * @return
     */
    ProcessVo findInitiateTaskList(ProcessVo vo);

    /**
     * 多条件查询待处理
     * @param vo 查询条件
     * @return
     */
    ProcessVo findPendingTaskList(ProcessVo vo);

    /**
     * 查询员工审批列表
     * @param vo
     * @return
     */
    List<ProcessVo> getEmpProcessList(ProcessVo vo);
}
